2Committed: 1a wired into one tappable prototype

One phone, all screens live. Tap: Answer buttons → answer flow (quick replies + send & resume flips the agent to Running), checkmark rows → agent detail, New → spawn, tab bar → Log / Settings. Back arrows work.

2aHandler — interactive prototype
9:41
Fleet
12 agents · 3 waiting on you
New
Running
6
Waiting
3
Done
42
Waiting on you
agt-7a1dhandler · migrate state to sqlite
"Drop the legacy JSON store, or keep it as a read fallback?"Answer
agt-3e90wheatsite · fix build on node 22
"Pin node 20 in CI, or patch esbuild?"Answer
agt-b241api-gateway · add rate limiting
"429 body: JSON or plain text?"Answer
Recent checkmarks
handler · add /agents endpoint
done — tests pass · 14m ago
wheatsite · refactor router
failed — 2 tests · 1h ago
dotfiles · port zsh config
done — 12 turns · 3h ago
Fleet
Log
Settings
agt-7a1d {{ agentStatus }}
Migrate agent state to sqlite
handler · branch agt/7a1d
Current state
{{ agentStateText }}
updated 2m ago
Started41m ago
Modelclaude-sonnet-4
Turns21
Tokens348k
14:02paused — waiting for input
13:57checkmark updated
13:52tool: bash — sqlite3 .schema
13:48tool: edit — store/sqlite.rs
13:40tool: bash — cargo test store
13:29checkmark updated
13:21tool: read — store/json.rs
Answer Pause Kill
agt-7a1d Waiting
Agent needs input
Question · 2m ago
Migrations pass on the new sqlite store. Should I drop the legacy JSON store entirely, or keep it as a read-only fallback for one release?
Quick replies
Send & resume
New agent
Task
Runs isolated on a fresh branch.
Auto-approve edits
Skip file-edit confirmations
Run tests on done
Checkmark fails if tests fail
Spawn agent
Log
Today
{{ e.t }}{{ e.id }}{{ e.msg }}
Fleet
Log
Settings
Settings
Server
Endpointhttps://handler.wheaty.dev
API keyhnd_••••••••4f2a
Statusconnected · 38ms
Notifications
Waiting on input
Push when an agent pauses
Failures
Push when a checkmark fails
Sign out
Fleet
Log
Settings

Answering agt-7a1d flips it to Running and clears it from the waiting list. Turn 1 explorations kept below.

1Handler — iOS app, first pass

Assumptions from the repo: entities are projects → agents; each agent carries a checkmark (current state) and writes to a global log; agents can be running, waiting on input, done, or failed. Tabs: Fleet / Log / Settings. Copy is terse, mono for ids & data per Leeworks. Three directions for the main screen below, then one shared flow.

Main screen — 3 directions
1aAttention-first — what needs you, then everything else
9:41
Fleet
12 agents · 3 waiting on you
New
Running
6
Waiting
3
Done
42
Waiting on you
agt-7a1dhandler · migrate state to sqlite
"Drop the legacy JSON store, or keep it as a read fallback?"Answer
agt-3e90wheatsite · fix build on node 22
"Pin node 20 in CI, or patch esbuild?"Answer
agt-b241api-gateway · add rate limiting
"429 body: JSON or plain text?"Answer
Recent checkmarks
handler · add /agents endpoint
done — tests pass · 14m ago
wheatsite · refactor router
failed — 2 tests · 1h ago
dotfiles · port zsh config
done — 12 turns · 3h ago
Fleet
Log
Settings
1bProject-grouped — fleet organized by repo
9:41
Projects
4 projects · 12 agents
New
handler3 agents
migrate state to sqlite
waiting on input · 2m
Waiting
write API docs
running · turn 21
Running
add /agents endpoint
done · 14m ago
Done
wheatsite2 agents
fix build on node 22
waiting on input · 18m
Waiting
refactor router
failed — 2 tests · 1h
Failed
dotfiles1 agent
port zsh config
running · turn 6
Running
Fleet
Log
Settings
1cLog-first — the fleet as a live terminal feed
9:41
handler
live
6 running 3 waiting 42 done
14:02:11agt-7a1d paused — waiting for input
13:58:40agt-9c77 checkmark updated
13:51:02agt-2d08 done — 34 turns, tests pass
13:44:19agt-e33a error — 2 tests failed
13:39:55spawn agt-51f0 → dotfiles
13:31:07agt-b241 paused — waiting for input
13:18:44agt-9c77 tool: bash — cargo test
13:02:30agt-90bc done — 12 turns
12:57:12agt-51f0 tool: edit — .zshrc
12:49:03agt-e33a checkmark updated
12:40:38spawn agt-b241 → api-gateway
Fleet
Log
Settings
The flow — agent detail → answer → spawn → global log
1dAgent detail — checkmark + log (segmented control works)
9:41
agt-7a1d Waiting
Migrate agent state to sqlite
handler · branch agt/7a1d
Current state
Schema written, migrations pass. Blocked on the legacy JSON store — drop it or keep as read fallback? Holding before deleting store/json.rs.
updated 2m ago
Started41m ago
Modelclaude-sonnet-4
Turns21
Tokens348k
14:02paused — waiting for input
13:57checkmark updated
13:52tool: bash — sqlite3 .schema
13:48tool: edit — store/sqlite.rs
13:40tool: bash — cargo test store
13:29checkmark updated
13:21tool: read — store/json.rs
Answer Pause Kill
1eAnswer & resume — quick replies are tappable
9:41
agt-7a1d Waiting
Agent needs input
Question · 2m ago
Migrations pass on the new sqlite store. Should I drop the legacy JSON store entirely, or keep it as a read-only fallback for one release?
Quick replies
Send & resume
1fSpawn agent — toggles work
9:41
New agent
Task
Runs isolated on a fresh branch.
Auto-approve edits
Skip file-edit confirmations
Run tests on done
Checkmark fails if tests fail
Spawn agent
1gGlobal log — filters work
9:41
Log
Today
{{ e.t }}{{ e.id }}{{ e.msg }}
Fleet
Log
Settings

Try next: "commit to 1a and wire the screens into one tappable prototype" · "merge 1b's project cards into 1a" · "show a dark-mode pass" (there's a Dark mode tweak too)